{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "以下是整理和格式化后的SQL内容：\n",
    "\n",
    "### 1. 用户表 `users`\n",
    "| 序号 | 属性   | 字段名         | 类型          | 是否为空 | 备注         |\n",
    "|------|--------|---------------|--------------|---------|------------|\n",
    "| 1    | 用户ID | UserId        | INT          | 非空    |             |\n",
    "| 2    | 用户名 | Username      | VARCHAR(50)   | 非空    |             |\n",
    "| 3    | 密码   | Password      | VARCHAR(50)   | 非空    |             |\n",
    "| 4    | 手机号码 | Telephone    | VARCHAR(11)   | 可为空  | 管理员无     |\n",
    "| 5    | 邮箱   | Email         | VARCHAR(255)  | 可为空  | 管理员无     |\n",
    "| 6    | 注册时间 | RegistrationDate | TIMESTAMP | 非空    |             |\n",
    "| 7    | 性别   | Gender        | ENUM         | 非空    | 包括‘Male’, ‘Female’和‘Other’ |\n",
    "| 8    | 出生日期 | BirthDate     | DATE         | 非空    | 年月日       |\n",
    "| 9    | 头像   | ProfilePic    | VARCHAR(255)  | 可为空  | 存储头像文件的路径 |\n",
    "\n",
    "### 2. 权限表 `roles`\n",
    "| 序号 | 字段名     | 类型 | 是否为空 | 说明             |\n",
    "|------|------------|------|---------|------------------|\n",
    "| 1    | RoleId     | INT  | 非空    | 权限ID           |\n",
    "| 2    | UserId     | INT  | 非空    | 用户ID，外键     |\n",
    "| 3    | Ranks      | INT  | 非空    | 权限等级，越小等级越低；0表示用户 |\n",
    "\n",
    "### 3. 登录表 `logins`\n",
    "| 序号 | 字段名  | 类型         | 是否为空 | 说明           |\n",
    "|------|---------|------------|---------|--------------|\n",
    "| 1    | LoginId | BIGINT     | 非空    | 登录ID         |\n",
    "| 2    | UserId  | INT        | 非空    | 用户ID，外键   |\n",
    "| 3    | LoginDate | TIMESTAMP | 非空    | 登录时间       |\n",
    "| 4    | LoginIP | VARCHAR(255) | 可为空  | 登录时的IP地址 |\n",
    "\n",
    "### 4. 模型表 `models`\n",
    "| 序号 | 字段名     | 类型          | 是否为空 | 说明             |\n",
    "|------|------------|-------------|---------|------------------|\n",
    "| 1    | ModelId    | INT         | 非空    | 模型ID           |\n",
    "| 2    | Modelname  | VARCHAR(200) | 非空    | 模型名称         |\n",
    "| 3    | ModelCate  | ENUM        | 非空    | 模型所属类别     |\n",
    "| 4    | ModelDesc  | VARCHAR(1000)| 可空    | 对模型的简要描述 |\n",
    "| 5    | ModelPath  | VARCHAR(255) | 非空    | 模型存储路径     |\n",
    "| 6    | UploadDate | TIMESTAMP   | 非空    | 模型上传时间     |\n",
    "| 7    | Uploader   | INT         | 可空    | 上传者ID         |\n",
    "| 8    | IsAvailable | TINYINT    | 非空    | 模型是否在用     |\n",
    "\n",
    "### 5. 模型调用情况表 `invokings`\n",
    "| 序号 | 字段名     | 类型         | 是否为空 | 说明             |\n",
    "|------|------------|------------|---------|------------------|\n",
    "| 1    | InvokeId   | INT        | 非空    | 调用ID           |\n",
    "| 2    | ModelId    | INT        | 非空    | 被调用模型ID，外键 |\n",
    "| 3    | InvokeDate | TIMESTAMP  | 非空    | 模型调用时间     |\n",
    "| 4    | Invoker    | INT        | 非空    | 模型调用者ID，外键 |\n",
    "\n",
    "### 6. 各方向模型调用情况\n",
    "\n",
    "#### 6.1 语音合成方向调用表 `STInvokings`\n",
    "| 序号 | 字段名       | 类型         | 是否为空 | 说明             |\n",
    "|------|-------------|------------|---------|------------------|\n",
    "| 1    | STId        | INT        | 非空    | 调用ID           |\n",
    "| 2    | STInvoker   | INT        | 非空    | 调用者ID，外键   |\n",
    "| 3    | STModel     | INT        | 非空    | 调用模型ID，外键 |\n",
    "| 4    | STInvokeDate | TIMESTAMP | 非空    | 调用时间，默认当前时间 |\n",
    "| 5    | STInput     | VARCHAR(9999) | 可空    | 输入内容，存储文本 |\n",
    "| 6    | STOutputPath | VARCHAR(1000) | 可用  | 输出内容，存储文本 |\n",
    "| 7    | IsSuccess   | TINYINT     | 非空    | 调用是否成功     |\n",
    "| 8    | InvokeId    | INT        | 非空    | 对应于invokings表中的InvokeId，外键 |\n",
    "\n",
    "#### 6.2 情感分析方向调用表 `SAInvokings`\n",
    "| 序号 | 字段名       | 类型         | 是否为空 | 说明             |\n",
    "|------|-------------|------------|---------|------------------|\n",
    "| 1    | SAId        | INT        | 非空    | 调用ID           |\n",
    "| 2    | SAInvoker   | INT        | 非空    | 调用者ID，外键   |\n",
    "| 3    | SAModel     | INT        | 非空    | 调用模型ID，外键 |\n",
    "| 4    | SAInvokeDate | TIMESTAMP | 非空    | 调用时间，默认当前时间 |\n",
    "| 5    | SAInput     | VARCHAR(9999) | 可空    | 输入内容，存储文本或文件路径 |\n",
    "| 6    | SAOutput    | VARCHAR(1000) | 可用  | 输出内容，存储文本 |\n",
    "| 7    | IsSuccess   | TINYINT     | 非空    | 调用是否成功     |\n",
    "| 8    | InvokeId    | INT        | 非空    | 对应于invokings表中的InvokeId，外键 |\n",
    "\n",
    "#### 6.3 蒙汉翻译方向调用表 `MCTInvokings`\n",
    "| 序号 | 字段名       | 类型         | 是否为空 | 说明             |\n",
    "|------|-------------|------------|---------|------------------|\n",
    "| 1    | MCTId       | INT        | 非空    | 调用ID           |\n",
    "| 2    | MCTInvoker  | INT        | 非空    | 调用者ID，外键   |\n",
    "| 3    | MCTModel    | INT        | 非空    | 调用模型ID，外键 |\n",
    "| 4    | MCTInvokeDate | TIMESTAMP | 非空    | 调用时间，默认当前时间 |\n",
    "| 5    | MCTInput    | VARCHAR(9999) | 可空    | 输入内容，存储文本 |\n",
    "| 6    | MCTOutput   | VARCHAR(9999) | 可用  | 输出内容，存储文本 |\n",
    "| 7    | IsSuccess   | TINYINT     | 非空    | 调用是否成功     |\n",
    "| 8    | InvokeId    | INT        | 非空    | 对应于invokings表中的InvokeId，外键 |\n",
    "\n",
    "#### 6.4 手写体识别方向调用表 `HRInvokings`\n",
    "| 序号 | 字段名       | 类型         | 是否为空 | 说明             |\n",
    "|------|-------------|------------|---------|------------------|\n",
    "| 1    | HRId        | INT        | 非空    | 调用ID           |\n",
    "| 2    | HRInvoker   | INT        | 非空    | 调用者ID，外键   |\n",
    "| 3    | HRModel     | INT        | 非空    | 调用模型ID，外键 |\n",
    "| 4    | HRInvokeDate | TIMESTAMP | 非空    | 调用时间，默认当前时间 |\n",
    "| 5    | HRInput     | VARCHAR(255) | 可空    | 输入内容，存储文件路径 |\n",
    "| 6    | HROutput    | VARCHAR(9999) | 可用  | 输出内容，存储文本 |\n",
    "| 7    | IsSuccess   | TINYINT     | 非空    | 调用是否成功     |\n",
    "| 8    | InvokeId    | INT        | 非空    | 对应于invokings表中的InvokeId，外键 |\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "vscode": {
     "languageId": "sql"
    }
   },
   "outputs": [],
   "source": [
    "-- MySQL Dump\n",
    "-- 数据库：imutrqcs\n",
    "-- 服务器版本：8.0.12\n",
    "\n",
    "-- 初始设置，保存原始配置，设置字符集和时区\n",
    "/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;\n",
    "SET NAMES utf8mb4 ;\n",
    "/*!40103 SET TIME_ZONE='+00:00' */;\n",
    "\n",
    "-- 设置外键检查、唯一约束等\n",
    "/*!40014 SET UNIQUE_CHECKS=0 */;\n",
    "/*!40014 SET FOREIGN_KEY_CHECKS=0 */;\n",
    "\n",
    "-- `hrinvokings` 表，记录手写识别调用\n",
    "DROP TABLE IF EXISTS `hrinvokings`;\n",
    "CREATE TABLE `hrinvokings` (\n",
    "  `HRId` int(10) unsigned NOT NULL AUTO_INCREMENT, -- 主键，自增\n",
    "  `HRInvoker` int(10) unsigned NOT NULL, -- 调用者ID，关联users表\n",
    "  `HRModel` int(10) unsigned NOT NULL, -- 调用模型ID，关联models表\n",
    "  `HRInvokeDate` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, -- 调用时间\n",
    "  `HRInput` varchar(500) DEFAULT NULL, -- 输入内容\n",
    "  `HROutput` varchar(9999) DEFAULT NULL, -- 输出内容\n",
    "  `IsSuccess` tinyint(4) NOT NULL, -- 是否成功调用\n",
    "  `InvokeId` int(10) unsigned NOT NULL, -- 关联invokings表\n",
    "  PRIMARY KEY (`HRId`),\n",
    "  KEY `HRModel` (`HRModel`),\n",
    "  KEY `HRInvoker` (`HRInvoker`),\n",
    "  CONSTRAINT `fk_invokings_hr` FOREIGN KEY (`InvokeId`) REFERENCES `invokings` (`InvokeId`)\n",
    ") ENGINE=InnoDB DEFAULT CHARSET=utf8;\n",
    "\n",
    "-- 数据插入示例\n",
    "LOCK TABLES `hrinvokings` WRITE;\n",
    "INSERT INTO `hrinvokings` VALUES \n",
    "(1,1,1,'2023-08-31 09:22:57','https://...','不以物喜，不以己悲',1,1),\n",
    "(2,1,1,'2023-08-31 09:23:33','https://...','',0,1);\n",
    "UNLOCK TABLES;\n",
    "\n",
    "-- `invokings` 表，记录通用调用信息\n",
    "DROP TABLE IF EXISTS `invokings`;\n",
    "CREATE TABLE `invokings` (\n",
    "  `InvokeId` int(10) unsigned NOT NULL AUTO_INCREMENT, -- 主键，自增\n",
    "  `ModelId` int(10) unsigned NOT NULL, -- 模型ID，关联models表\n",
    "  `InvokeDate` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, -- 调用时间\n",
    "  `Invoker` int(10) unsigned NOT NULL, -- 调用用户ID，关联users表\n",
    "  PRIMARY KEY (`InvokeId`)\n",
    ") ENGINE=InnoDB DEFAULT CHARSET=utf8;\n",
    "\n",
    "LOCK TABLES `invokings` WRITE;\n",
    "INSERT INTO `invokings` VALUES \n",
    "(1,1,'2023-08-31 08:51:53',1), (2,2,'2023-08-31 08:53:18',1);\n",
    "UNLOCK TABLES;\n",
    "\n",
    "-- `logins` 表，记录用户登录信息\n",
    "DROP TABLE IF EXISTS `logins`;\n",
    "CREATE TABLE `logins` (\n",
    "  `LoginId` int(10) unsigned NOT NULL AUTO_INCREMENT, -- 主键\n",
    "  `UserId` int(10) unsigned NOT NULL, -- 用户ID，关联users表\n",
    "  `LoginDate` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, -- 登录时间\n",
    "  `LoginIP` varchar(255) DEFAULT NULL, -- 登录IP地址\n",
    "  PRIMARY KEY (`LoginId`)\n",
    ") ENGINE=InnoDB DEFAULT CHARSET=utf8;\n",
    "\n",
    "LOCK TABLES `logins` WRITE;\n",
    "INSERT INTO `logins` VALUES \n",
    "(1,1,'2023-08-30 09:12:16',NULL), (2,2,'2023-08-30 09:12:34',NULL);\n",
    "UNLOCK TABLES;\n",
    "\n",
    "-- `models` 表，记录模型信息\n",
    "DROP TABLE IF EXISTS `models`;\n",
    "CREATE TABLE `models` (\n",
    "  `ModelId` int(10) unsigned NOT NULL AUTO_INCREMENT, -- 模型ID\n",
    "  `Modelname` varchar(200) NOT NULL, -- 模型名称\n",
    "  `ModelCate` enum('ST','SA','MCT','HR') NOT NULL, -- 模型类别\n",
    "  `ModelDesc` varchar(1000) DEFAULT '', -- 模型描述\n",
    "  `ModelPath` varchar(255) NOT NULL, -- 模型文件路径\n",
    "  `UploadDate` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, -- 上传时间\n",
    "  `Uploader` int(11) DEFAULT '0', -- 上传者ID\n",
    "  `IsAvailable` tinyint(4) NOT NULL DEFAULT '1', -- 是否可用\n",
    "  PRIMARY KEY (`ModelId`)\n",
    ") ENGINE=InnoDB DEFAULT CHARSET=utf8;\n",
    "\n",
    "LOCK TABLES `models` WRITE;\n",
    "INSERT INTO `models` VALUES \n",
    "(1,'语音合成1','ST','语音合成模型描述','https://...',2,1);\n",
    "UNLOCK TABLES;\n",
    "\n",
    "-- `users` 表，记录用户信息\n",
    "DROP TABLE IF EXISTS `users`;\n",
    "CREATE TABLE `users` (\n",
    "  `UserId` int(10) unsigned NOT NULL AUTO_INCREMENT, -- 用户ID\n",
    "  `Username` varchar(50) NOT NULL, -- 用户名\n",
    "  `Password` varchar(50) NOT NULL, -- 密码\n",
    "  `telephone` varchar(11) DEFAULT NULL, -- 电话\n",
    "  `Email` varchar(255) DEFAULT NULL, -- 邮箱\n",
    "  PRIMARY KEY (`UserId`),\n",
    "  UNIQUE KEY `Telephone` (`telephone`),\n",
    "  UNIQUE KEY `Email` (`Email`)\n",
    ") ENGINE=InnoDB DEFAULT CHARSET=utf8;\n",
    "\n",
    "LOCK TABLES `users` WRITE;\n",
    "INSERT INTO `users` VALUES \n",
    "(1,'example','example','13888888888','example@163.com');\n",
    "UNLOCK TABLES;\n",
    "\n",
    "-- 恢复设置\n",
    "/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;\n"
   ]
  }
 ],
 "metadata": {
  "language_info": {
   "name": "python"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
